1. Field of the Invention
The invention relates to intercomputer message communication and synchronization protocol particularly with respect to the implementation of an interface module for coupling a work station to a local area network (LAN).
2. Description of the Prior Art
Intellegent work stations, such as the family of universal work stations manufactured by Unisys Corporation, are becoming ubiquitous in present day office environments. As the number of work stations in the office environment continues to increase, the requirement for efficient mechanisms for communicating between the work stations has also increased. Local area network (LAN) technology has emerged as a potential solution to the problems associated with connecting large numbers of work stations and peripherals via a relatively high speed data path. One of the limitations to the widespread use of LANS has been the cost associated with connecting a work station to a LAN. Such interconnect cost may be as high as $500-$1000 per work station which expense is often unjustified in the office environment.
One solution to the high interconnect cost of LANS in the office environment has been the utilization of a simple, high speed master/slave cluster protocol for effecting inter work station communication. The primary advantage of the cluster approach is the relatively low interconnect cost. The major problem with clustering, however, is that as the number of work stations increases, performance decreases primarily because of the overhead at the master work station assigned the task of managing the cluster. Replacing the master work station with a super-minicomputer may increase the number of work stations supported, but eventually this configuration will suffer from the disadvantages associated with a logical star configuration. In such configurations failure of the cluster or star master work station can result in failure of the entire interconnected network. Additionally the master work station in such configurations is limited to the number of slave work stations that it can support.
Although, as described above, large numbers of peer work stations may be interconnected via a LAN, the interconnect cost per work station is excessive. Additionally when endeavoring to connect a work station to a high speed LAN, the high data transfer rates of the LAN tend to usurp the processing time of the work station processor to the extent that the processor may not have sufficient time remaining to perform required processing tasks. The processor may only have time to service the LAN. This problem is exacerbated if it is desired to connect a plurality of clustered work stations to a LAN. The cluster master work station, which would be connected to the LAN, would be unable to manage the cluster, perform its own processing tasks and service the LAN. A solution to the interconnect problem may be to provide an additional processor in the master work station to serve as a gateway between the master work station and the LAN. The additional processor would preferably operate asynchronously with respect to the master work station processor. Present day message synchronization and control protcols for message transmission between loosely coupled processors are not sufficiently efficient to service a high speed LAN without overloading the message transmission capability between the processors. Interrupt signals transmitted between the processors on an interprocessor bus are often utilized to effect interprocessor synchronization. This arrangement suffers from the disadvantage that large numbers of bus conductors are required, dedicated, respectively, to the various synchronization interrupts as well as to the specific processor interconnections. This disadvantage is exacerbated for configurations having significant numbers of processors connected to the bus.
An additional disadvantage of present day message synchronization protocols arises when two processors endeavor to write to the same memory location. Hardware and software lock mechanism are utilized to prevent destruction of information. A typical lock mechanism utilizes a shared variable that the processors read to determine its availability. If the variable is available the requesting processor locks it and alters it to indicate nonavailability. Other processors endeavoring to write to the location wait on a queue for access. When the accessing processor has completed its task, the shared variable is unlocked and the queued processors are notified that access is available. Locking mechanisms tend to add hardware expense to a system as well as additional undesirable overhead. Locking mechanisms tend to be cumbersome and slow in the management thereof. Locking mechanisms have a further disadvantage that should a processor fail while owning lock, implementation of a mechanism to recover from the failure and release the lock is difficult.